package com.ruiysoft.controller.wx.res;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.validation.annotation.Validated;

import java.util.Objects;

/**
 * JsSignResponse
 */
@Validated
@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2018-11-03T17:06:08.758+08:00")

public class JsSignResponse   {
  @JsonProperty("timeStamp")
  private Long timeStamp = null;

  @JsonProperty("nonceStr")
  private String nonceStr = null;

  @JsonProperty("package")
  private String _package = null;

  @JsonProperty("signType")
  private String signType = null;

  @JsonProperty("paySign")
  private String paySign = null;

  public JsSignResponse timeStamp(Long timeStamp) {
    this.timeStamp = timeStamp;
    return this;
  }

  /**
   * Get timeStamp
   * @return timeStamp
  **/
  @ApiModelProperty(value = "")


  public Long getTimeStamp() {
    return timeStamp;
  }

  public void setTimeStamp(Long timeStamp) {
    this.timeStamp = timeStamp;
  }

  public JsSignResponse nonceStr(String nonceStr) {
    this.nonceStr = nonceStr;
    return this;
  }

  /**
   * Get nonceStr
   * @return nonceStr
  **/
  @ApiModelProperty(value = "")


  public String getNonceStr() {
    return nonceStr;
  }

  public void setNonceStr(String nonceStr) {
    this.nonceStr = nonceStr;
  }

  public JsSignResponse _package(String _package) {
    this._package = _package;
    return this;
  }

  /**
   * Get _package
   * @return _package
  **/
  @ApiModelProperty(value = "")


  public String getPackage() {
    return _package;
  }

  public void setPackage(String _package) {
    this._package = _package;
  }

  public JsSignResponse signType(String signType) {
    this.signType = signType;
    return this;
  }

  /**
   * Get signType
   * @return signType
  **/
  @ApiModelProperty(value = "")


  public String getSignType() {
    return signType;
  }

  public void setSignType(String signType) {
    this.signType = signType;
  }

  public JsSignResponse paySign(String paySign) {
    this.paySign = paySign;
    return this;
  }

  /**
   * Get paySign
   * @return paySign
  **/
  @ApiModelProperty(value = "")


  public String getPaySign() {
    return paySign;
  }

  public void setPaySign(String paySign) {
    this.paySign = paySign;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    JsSignResponse jsSignResponse = (JsSignResponse) o;
    return Objects.equals(this.timeStamp, jsSignResponse.timeStamp) &&
        Objects.equals(this.nonceStr, jsSignResponse.nonceStr) &&
        Objects.equals(this._package, jsSignResponse._package) &&
        Objects.equals(this.signType, jsSignResponse.signType) &&
        Objects.equals(this.paySign, jsSignResponse.paySign);
  }

  @Override
  public int hashCode() {
    return Objects.hash(timeStamp, nonceStr, _package, signType, paySign);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class JsSignResponse {\n");
    
    sb.append("    timeStamp: ").append(toIndentedString(timeStamp)).append("\n");
    sb.append("    nonceStr: ").append(toIndentedString(nonceStr)).append("\n");
    sb.append("    _package: ").append(toIndentedString(_package)).append("\n");
    sb.append("    signType: ").append(toIndentedString(signType)).append("\n");
    sb.append("    paySign: ").append(toIndentedString(paySign)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

